package Q8_01_Triple_Step; import java.util.Arrays; public class QuestionB { public static int countWays(int n) { int[] map = new int[n + 1]; Arrays.fill(map, -1); return countWays(n, map); } public static int countWays(int n, int[] memo) { if (n < 0) { return 0; } else if (n == 0) { return 1; } else if (memo[n] > -1) { return memo[n]; } else { memo[n] = countWays(n - 1, memo) + countWays(n - 2, memo) + countWays(n - 3, memo); return memo[n]; } } public static void main(String[] args) { int n = 50; int ways = countWays(n); System.out.println(ways); } }